// api.js - 修复版本
// 使用全局的request对象，不重新声明

// 检查是否已经存在request对象，如果不存在则使用axios
const apiRequest = window.request;
// 起点信息登记API
window.startLogin = function(formData) {
    return apiRequest.post('/order/order', formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        },
        timeout: 30000 // 文件上传需要更长时间
    });
};

// 终点信息登记API
window.endLogin = function(updateData) {
    return apiRequest.post('/order/order_end', updateData);
};
// 终点信息登记API




//  获取订单列表API
window.getOrders = function(data) {
    return apiRequest.post(`/order/order_list`,data);
};

window.getOrderDetail = function(updateData) {
    return apiRequest.post('/order/order_details', updateData);
};

window.orderEdit = function(updateData) {
    return apiRequest.post('/order/order_edit', updateData);
};

window.orderStatistics = function(updateData) {
    return apiRequest.post('/order/order_statistics', updateData);
};







// 订单相关API
const orderApi = {
 
    // 更新订单
    updateOrder(orderId, updateData) {
        // 处理文件上传（如果有照片）
        if (updateData.cargoPhoto instanceof File) {
            return this.updateOrderWithFile(orderId, updateData);
        }
        
        return apiRequest.put(`/api/orders/${orderId}`, updateData);
    },
    // getOrderOption(updateData) {
    // return apiRequest.get(`/api/order/order_list`,updateData);
    // },
// 登记的提交编辑接口
    carLogin(updateData) {
        return apiRequest.post('/car_owner/car_owner', updateData);
    },
// 登记的回显接口
    getCarListfind(updateData) {
        return apiRequest.post('/car_owner/user_find', updateData);
    },
    // 订单开始接口
    orderStart(updateData) {
        return apiRequest.post('/order/order', updateData);
    },
 
    // 带文件上传的订单更新
    updateOrderWithFile(orderId, updateData) {
        const formData = new FormData();
        formData.append('endPoint', updateData.endPoint);
        formData.append('weight', updateData.weight);
        
        if (updateData.cargoPhoto) {
            formData.append('cargoPhoto', updateData.cargoPhoto);
        }
        if (updateData.endPointPhoto) {
            formData.append('endPointPhoto', updateData.endPointPhoto);
        }

        return apiRequest.put(`/api/orders/${orderId}`, formData, {
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        });
    },

    // 提交新订单
    submitOrder(data) {
        // 如果有文件，使用FormData
        if (data.cargoPhoto instanceof File) {
            const formData = new FormData();
            formData.append('endPoint', data.endPoint);
            formData.append('weight', data.weight);
            formData.append('cargoPhoto', data.cargoPhoto);
            
            if (data.startPointPhoto) {
                formData.append('startPointPhoto', data.startPointPhoto);
            }

            return apiRequest.post('/api/orders', formData, {
                headers: {
                    'Content-Type': 'multipart/form-data'
                }
            });
        }

        // 普通JSON数据
        return apiRequest.post('/api/orders', data);
    },

    // 删除订单
    deleteOrder(orderId) {
        return apiRequest.delete(`/api/orders/${orderId}`);
    }
};

// 暴露到全局，这样HTML中可以直接使用
window.orderApi = orderApi;
window.carLogin = orderApi.carLogin;
window.getCarListfind = orderApi.getCarListfind;
// window.getOrderDetail = orderApi.getOrderDetail;
window.updateOrder = orderApi.updateOrder;
window.submitOrder = orderApi.submitOrder;
